有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java确定api请求是来自CURL还是POSTMAN?

我想区分API端点通过浏览器或邮递员发出的错误响应

我搜索了解决方案,一个网站给出了检查HTTP请求头的建议,如果它来自浏览器,那么它有USER-AGENT

例如USER-AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36

通过将USER-AGENT设置为具有该值的HTTP头,仍然可以通过postman对其进行操作

有人有主意吗


共 (2) 个答案

  1. # 1 楼答案

    如果请求来自邮递员,则会在curl请求中附加一个标题,如-H'邮递员令牌:15f84a34-a7ad-a21a-bb6a-6eb1f304a043'

    这是邮递员的样品请求

    curl -X GET \
      'https://www.googleapis.com/youtube/v3/channels?part=contentDetails&mine=true' \
      -H 'cache-control: no-cache' \
      -H 'postman-token: 15f84a34-a7ad-a21a-bb6a-6eb1f304a043'
    
  2. # 2 楼答案

    数据通过三种方式发送到服务器

    1。使用User-Agents

    使用CURL时,请求的用户代理为curl/<version>

    使用邮递员时,请求已被删除

    1. 用户代理为PostmanRuntime/<version>
    2. 附加标题“邮递员令牌”为<version 4 UUID>Reference

    2。使用请求参数

    从webclient发出请求时发送令牌

    例如:client=webclient

    3。使用请求正文

    与前一个相同,但在请求正文中

    注意:在所有方法中,所有标题/参数都可以修改